C语言结构体与联合体精讲

📚 共计 30 章节
01
结构体入门
为什么需要结构体 · 定义 · 声明与初始化
基础定义
02
结构体成员访问
点运算符 · 箭头运算符 · 赋值与读取
运算符访问
03
结构体数组
定义 · 初始化 · 遍历 · 学生成绩管理
数组应用
04
结构体指针
指针定义 · 成员访问 · 函数参数
指针传参
05
结构体嵌套
成员为结构体 · 嵌套初始化 · 访问
嵌套组合
06
结构体与函数
传值与传址 · 结构体作为返回值
函数传参
07
结构体与内存对齐
对齐规则 · 为什么要对齐 · #pragma pack
内存对齐
08
结构体位域
位域定义 · 协议解析 · 状态寄存器
位域嵌入式
09
结构体与动态内存
malloc/free · 柔性数组成员
动态柔性数组
10
结构体综合实战:链表
节点定义 · 创建 · 遍历 · 销毁
链表实战
11
联合体入门
定义 · 共享内存 · 与结构体对比
联合体基础
12
联合体的大小
大小计算规则 · 成员对齐影响
大小对齐
13
联合体典型应用
数据拆分合并 · int拆byte · IP解析
拆分网络
14
联合体与结构体混合
结构体含联合体 · 联合体含结构体
混合设计
15
联合体在通信协议中
协议帧解析 · 变长数据包
通信协议
16
联合体与寄存器操作
位操作结合 · 读写硬件寄存器
寄存器硬件
17
联合体与类型双关
严格别名规则 · 安全类型转换
类型双关安全
18
联合体与枚举结合
枚举定义状态 · 存储不同数据
枚举状态
19
匿名结构体与联合体
C11标准 · 匿名成员 · 简化访问
C11匿名
20
序列化:文件与网络
结构体/联合体写入文件 · 网络传输
序列化IO
21
字节序问题
大端小端 · 检测 · 字节序转换
字节序跨平台
22
const 与 volatile
const结构体 · volatile联合体(MMIO)
限定符MMIO
23
typedef 简化类型
typedef用法 · 命名规范
typedef规范
24
偏移量计算
offsetof宏 · 手动计算成员偏移
offsetof内存
25
调试技巧
GDB打印结构体 · 内存dump分析
GDB调试
26
性能优化
缓存行对齐 · 减少碎片 · 避免拷贝
优化缓存
27
安全编程
防缓冲区溢出 · 指针有效性 · 初始化
安全防御
28
操作系统应用
PCB · 文件描述符表 · 系统调用
OS内核
29
嵌入式系统应用
硬件寄存器映射 · 中断向量 · 协议栈
嵌入式寄存器
30
综合大作业:学生信息管理
增删改查 · 结构体+联合体+链表+文件
大作业综合